le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
↳ QTRS
↳ Overlay + Local Confluence
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
IF(false, x, b, y, z) → LOOP(x, b, times(b, y), s(z))
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
TIMES(s(x), y) → PLUS(y, times(x, y))
LOOP(x, s(s(b)), s(y), z) → LE(x, s(y))
TIMES(s(x), y) → TIMES(x, y)
LOG(s(x), s(s(b))) → LOOP(s(x), s(s(b)), s(0), 0)
IF(false, x, b, y, z) → TIMES(b, y)
LE(s(x), s(y)) → LE(x, y)
PLUS(s(x), y) → PLUS(x, y)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF(false, x, b, y, z) → LOOP(x, b, times(b, y), s(z))
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
TIMES(s(x), y) → PLUS(y, times(x, y))
LOOP(x, s(s(b)), s(y), z) → LE(x, s(y))
TIMES(s(x), y) → TIMES(x, y)
LOG(s(x), s(s(b))) → LOOP(s(x), s(s(b)), s(0), 0)
IF(false, x, b, y, z) → TIMES(b, y)
LE(s(x), s(y)) → LE(x, y)
PLUS(s(x), y) → PLUS(x, y)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
PLUS(s(x), y) → PLUS(x, y)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
PLUS(s(x), y) → PLUS(x, y)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
PLUS(s(x), y) → PLUS(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
TIMES(s(x), y) → TIMES(x, y)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
TIMES(s(x), y) → TIMES(x, y)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
TIMES(s(x), y) → TIMES(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
IF(false, x, b, y, z) → LOOP(x, b, times(b, y), s(z))
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
le(s(x), 0) → false
le(0, y) → true
le(s(x), s(y)) → le(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
log(x, 0) → baseError
log(x, s(0)) → baseError
log(0, s(s(b))) → logZeroError
log(s(x), s(s(b))) → loop(s(x), s(s(b)), s(0), 0)
loop(x, s(s(b)), s(y), z) → if(le(x, s(y)), x, s(s(b)), s(y), z)
if(true, x, b, y, z) → z
if(false, x, b, y, z) → loop(x, b, times(b, y), s(z))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF(false, x, b, y, z) → LOOP(x, b, times(b, y), s(z))
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
log(x0, 0)
log(x0, s(0))
log(0, s(s(x0)))
log(s(x0), s(s(x1)))
loop(x0, s(s(x1)), s(x2), x3)
if(true, x0, x1, x2, x3)
if(false, x0, x1, x2, x3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
IF(false, x, b, y, z) → LOOP(x, b, times(b, y), s(z))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
IF(false, y0, 0, x0, y3) → LOOP(y0, 0, 0, s(y3))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
IF(false, y0, 0, x0, y3) → LOOP(y0, 0, 0, s(y3))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
LOOP(x, s(s(b)), s(y), z) → IF(le(x, s(y)), x, s(s(b)), s(y), z)
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
LOOP(0, s(s(y1)), s(y2), y3) → IF(true, 0, s(s(y1)), s(y2), y3)
LOOP(s(x0), s(s(y1)), s(x1), y3) → IF(le(x0, x1), s(x0), s(s(y1)), s(x1), y3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
LOOP(0, s(s(y1)), s(y2), y3) → IF(true, 0, s(s(y1)), s(y2), y3)
LOOP(s(x0), s(s(y1)), s(x1), y3) → IF(le(x0, x1), s(x0), s(s(y1)), s(x1), y3)
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
LOOP(s(x0), s(s(y1)), s(x1), y3) → IF(le(x0, x1), s(x0), s(s(y1)), s(x1), y3)
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
IF(false, y0, s(x0), x1, y3) → LOOP(y0, s(x0), plus(x1, times(x0, x1)), s(y3))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), plus(s(z2), times(s(z1), s(z2))), s(s(z3)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), plus(s(z2), times(s(z1), s(z2))), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, times(s(z1), s(z2)))), s(s(z3)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, times(s(z1), s(z2)))), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, plus(s(z2), times(z1, s(z2))))), s(s(z3)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, plus(s(z2), times(z1, s(z2))))), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(z3)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
LOOP(s(x0), s(s(x1)), s(x2), s(z3)) → IF(le(x0, x2), s(x0), s(s(x1)), s(x2), s(z3))
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
LOOP(s(z0), s(s(z1)), s(y_2), s(s(z3))) → IF(le(z0, y_2), s(z0), s(s(z1)), s(y_2), s(s(z3)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
LOOP(s(z0), s(s(z1)), s(y_2), s(s(z3))) → IF(le(z0, y_2), s(z0), s(s(z1)), s(y_2), s(s(z3)))
IF(false, s(z0), s(s(z1)), s(z2), s(z3)) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
IF(false, s(z0), s(s(z1)), s(z2), s(s(z3))) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(s(z3))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
IF(false, s(z0), s(s(z1)), s(z2), s(s(z3))) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(s(z3))))
LOOP(s(z0), s(s(z1)), s(y_2), s(s(z3))) → IF(le(z0, y_2), s(z0), s(s(z1)), s(y_2), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
(1) (LOOP(s(x4), s(s(x5)), s(plus(x6, s(plus(x6, times(x5, s(x6)))))), s(s(s(x7))))=LOOP(s(x8), s(s(x9)), s(x10), s(s(x11))) ⇒ LOOP(s(x8), s(s(x9)), s(x10), s(s(x11)))≥IF(le(x8, x10), s(x8), s(s(x9)), s(x10), s(s(x11))))
(2) (LOOP(s(x4), s(s(x5)), s(x10), s(s(s(x7))))≥IF(le(x4, x10), s(x4), s(s(x5)), s(x10), s(s(s(x7)))))
(3) (IF(le(x12, x14), s(x12), s(s(x13)), s(x14), s(s(x15)))=IF(false, s(x16), s(s(x17)), s(x18), s(s(x19))) ⇒ IF(false, s(x16), s(s(x17)), s(x18), s(s(x19)))≥LOOP(s(x16), s(s(x17)), s(plus(x18, s(plus(x18, times(x17, s(x18)))))), s(s(s(x19)))))
(4) (le(x12, x14)=false ⇒ IF(false, s(x12), s(s(x13)), s(x14), s(s(x15)))≥LOOP(s(x12), s(s(x13)), s(plus(x14, s(plus(x14, times(x13, s(x14)))))), s(s(s(x15)))))
(5) (le(x26, x27)=false∧(∀x28,x29:le(x26, x27)=false ⇒ IF(false, s(x26), s(s(x28)), s(x27), s(s(x29)))≥LOOP(s(x26), s(s(x28)), s(plus(x27, s(plus(x27, times(x28, s(x27)))))), s(s(s(x29))))) ⇒ IF(false, s(s(x26)), s(s(x13)), s(s(x27)), s(s(x15)))≥LOOP(s(s(x26)), s(s(x13)), s(plus(s(x27), s(plus(s(x27), times(x13, s(s(x27))))))), s(s(s(x15)))))
(6) (false=false ⇒ IF(false, s(s(x30)), s(s(x13)), s(0), s(s(x15)))≥LOOP(s(s(x30)), s(s(x13)), s(plus(0, s(plus(0, times(x13, s(0)))))), s(s(s(x15)))))
(7) (IF(false, s(x26), s(s(x13)), s(x27), s(s(x15)))≥LOOP(s(x26), s(s(x13)), s(plus(x27, s(plus(x27, times(x13, s(x27)))))), s(s(s(x15)))) ⇒ IF(false, s(s(x26)), s(s(x13)), s(s(x27)), s(s(x15)))≥LOOP(s(s(x26)), s(s(x13)), s(plus(s(x27), s(plus(s(x27), times(x13, s(s(x27))))))), s(s(s(x15)))))
(8) (IF(false, s(s(x30)), s(s(x13)), s(0), s(s(x15)))≥LOOP(s(s(x30)), s(s(x13)), s(plus(0, s(plus(0, times(x13, s(0)))))), s(s(s(x15)))))
POL(0) = 0
POL(IF(x1, x2, x3, x4, x5)) = -1 - x1 + x2 - x4
POL(LOOP(x1, x2, x3, x4)) = -1 + x1 - x3
POL(c) = -1
POL(false) = 0
POL(le(x1, x2)) = 0
POL(plus(x1, x2)) = x1 + x2
POL(s(x1)) = 1 + x1
POL(times(x1, x2)) = 0
POL(true) = 0
The following pairs are in Pbound:
IF(false, s(z0), s(s(z1)), s(z2), s(s(z3))) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(s(z3))))
The following rules are usable:
IF(false, s(z0), s(s(z1)), s(z2), s(s(z3))) → LOOP(s(z0), s(s(z1)), s(plus(z2, s(plus(z2, times(z1, s(z2)))))), s(s(s(z3))))
false → le(s(x), 0)
le(x, y) → le(s(x), s(y))
true → le(0, y)
s(plus(x, y)) → plus(s(x), y)
y → plus(0, y)
plus(y, times(x, y)) → times(s(x), y)
0 → times(0, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
LOOP(s(z0), s(s(z1)), s(y_2), s(s(z3))) → IF(le(z0, y_2), s(z0), s(s(z1)), s(y_2), s(s(z3)))
le(0, y) → true
le(s(x), s(y)) → le(x, y)
le(s(x), 0) → false
times(0, y) → 0
times(s(x), y) → plus(y, times(x, y))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
le(s(x0), 0)
le(0, x0)
le(s(x0), s(x1))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)